#本脚本的目的是为了让一个黑白MASK图像应用到一个文件夹下所有的图片

import argparse
from pathlib import Path
import cv2

def Parse_Arguments():
    parser = argparse.ArgumentParser(description="")
    parser.add_argument('--img-dir', default=r"C:\Users\ouyangwj\Desktop\images2_person", type=str)
    parser.add_argument('--mask-img-path', default=r"C:\Users\ouyangwj\Desktop\images_mask\003_0060_mask.jpg", type=str)
    return parser.parse_args()

def main():
    args = Parse_Arguments()
    img_dir = Path(args.img_dir).glob("*.jpg")
    mask_img_path = args.mask_img_path
    for img_path in img_dir:
        img = cv2.imread(str(img_path))
        mask_img = cv2.imread(mask_img_path)
        if img.shape != mask_img.shape:
        # 调整遮罩图像的尺寸以匹配原始图像的尺寸
            mask_img = cv2.resize(mask_img, (img.shape[1], img.shape[0]))
        result_img = cv2.bitwise_and(img, mask_img)
        cv2.imwrite(str(img_path), result_img)

if __name__ == "__main__":
    main()
